$(function(){
    // 需求1:点击a链接,显示和隐藏盒子;
    $('#loginBox a').on('click',function(){
        // 点击登录框内部的a链接
        // 显示的注册区域,隐藏登录区域
        $('#loginBox').hide();
        $('#regBox').show();
    });
    $('#regBox a').on('click',function(){
        // 点击注册内部的a链接
        // 显示登录区域,隐藏注册区域
        $('#loginBox').show();
        $('#regBox').hide();
    })

    // 需求2:定义校验规则:
    let form = layui.form;
    // 定义校验规则,使用的是 form.verify()
    // 参数是对象,属性是校验名称,值是校验规则
    form.verify({
        // 属性是校验名称,值是校验规则
        // 值有两种类型:函数和数组!
        username:[
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须1到10位数字和字母'
        ],
        pwd:[
            /^[a-zA-Z0-9]{6,12}$/,
            '密码必须6到12位数字和字母'
        ],
        // 确认密码的校验规则
        rePwd: function(value){
            // 判断密码的值和确认密码的值是否相同
            // 获取确认密码的值
            let pwd = $('#regBox input[name = password]').val();
            // 判断出错的情况
            if(pwd !== value){
                return '两次密码输入不一致!' 
            }
        }
    })
    // 需求3:注册功能
    let layer = layui.layer
    $('#formReg').on('submit',function(e){
        // 阻止表单默认提交
        e.preventDefault();
        axios({
            method:'POST',
            url:'/api/reguser',
            // 不要传递对象类型,因为对象类型头信息设置的是 application/JSON
            // jQuery 中 ajax  参数 string array content-type 头信息固定
            // axios 中的 ajax 参数根据类型不同头信息也不同
            //   data参数是字符串类型 : a=1&b=2&c=3  content-type 头信息固定 application
            data:$(this).serialize()
        }).then(res => {
            // console.log(res.data)
            if(res.data.status !== 0 ){
                return layer.msg(res.data.message,{icon: 5});
            }
            // 成功后提示
            layer.msg('恭喜您,注册成功!',{icon: 6})
            // 切换到登录模块
            $('#regBox a').click();
            // 清空表单 - DOM元素中, 有一个 reset() 可以重置表单
            $('#formReg')[0].reset();
        })
    })
    // 需求4:登录功能
    $('#formLogin').on('submit',function(e){
        e.preventDefault();
        axios({
            method:'post',
            url:'/api/login',
            data:$(this).serialize()
        }).then(res => {
            if(res.data.status !== 0){
                return layer.msg(res.data.message,{icon: 5})
            }
            layer.msg('恭喜您,登录成功!')
            // 页面跳转
            location.href = '/index.html'
            localStorage.setItem('token',res.data.token)
            // 保存token  后面用于身份认证
        })
    })
})